问题一:一只青蛙一次可以跳上一阶台阶,也可以跳上二阶台阶,请这只可怜的青蛙跳上N阶台阶有几种方法?
分析:当N=1时有一种跳法,当N=2时有两种跳法,当N=3时有三种跳法,当N=4有五种跳法,当N=5时有八种跳法,当N=6时有十三种跳法....... 这个规律符合斐波那契数列:
关于斐波那契数列的原理不多说,网上有很多,下面是 js实现跳青蛙问题的代码:
function jumpFloor(n) {
if(n<=0)return 0;
if(n == 1) return 1;
if(n==2) return 2;
return jumpFloor(n-1) + jumpFloor(n-2)
}
console.log(jumpFloor(30)) // 输出 1346269